package com.yudean.esb.dao.erp;

import com.yudean.esb.mapper.erp.ErpAccountMapper;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Repository;

import javax.annotation.Resource;
import java.util.List;

@Repository
@Scope("prototype")
public class ErpAccountDao {
    @Resource
    private ErpAccountMapper erpAccountMapper;

    public List selectByCcid(Long ccid) {
        return erpAccountMapper.selectByCcid(ccid);
    }

    public List findAccountCombinationsByCompCode(String compCode) {
        return erpAccountMapper.findAccountCombinationsByCompCode(compCode);
    }

    public List findAllAccountCombinations(int pageNoInt, int pageSizeInt) {
        return erpAccountMapper.findAllAccountCombinations(pageNoInt,pageSizeInt);
    }

    public Long getAccountCombinationCount() {
        return erpAccountMapper.getAccountCombinationCount();
    }

    public List getAccountCombinationsByCompCodeandAcctCode(String compCode, String acctCode) {
        return erpAccountMapper.getAccountCombinationsByCompCodeandAcctCode(compCode, acctCode);
    }

    public List getAllAccount() {
        return erpAccountMapper.getAllAccount();
    }

    public List getAllFatherAccount() {
        return erpAccountMapper.getAllFatherAccount();
    }

    public List getSubAccountByFatherCode(String fatherCode) {
        return erpAccountMapper.getSubAccountByFatherCode(fatherCode);
    }

    public List getAccountSubByCompCode(String compCode) {
        return erpAccountMapper.getAccountSubByCompCode(compCode);
    }

    public Long getSubAccountCount() {
        return erpAccountMapper.getSubAccountCount();
    }

    public List getAllSubAccount(int pageNoInt, int pageSizeInt) {
        return erpAccountMapper.getAllSubAccount(pageNoInt,pageSizeInt);
    }

    public List getAccountSubByAcctCodeSub(String acctCodeSub) {
        return erpAccountMapper.getAccountSubByAcctCodeSub(acctCodeSub);
    }

    public List getBalanceByPeriodName(String periodName, String segment1) {
        return erpAccountMapper.getBalanceByPeriodName(periodName,segment1);
    }

    public long getBalanceCount(String periodName) {
        return erpAccountMapper.getBalanceCount(periodName);
    }

    public List getAllBalanceByPeriodName(String periodName, int pageNoInt, int pageSizeInt) {
        return erpAccountMapper.getAllBalanceByPeriodName(periodName,pageNoInt,pageSizeInt);
    }

    public List getBalanceByCombination(Long codeCombinationId, String segment1) {
        return erpAccountMapper.getBalanceByCombination(codeCombinationId,segment1);
    }

    public List<?> getJournalByDate(String compCode, String beginDate, String endDate) {
        return erpAccountMapper.getJournalByDate(compCode,beginDate,endDate);
    }

    public List<?> getAllJournalByDate(String beginDate, String endDate, String pageNo, String pageSize) {
        return erpAccountMapper.getAllJournalByDate(beginDate,endDate,pageNo,pageSize);
    }

    public long getJournaltCount(String beginDate, String endDate) {
        return erpAccountMapper.getJournaltCount(beginDate,endDate);
    }

    public List<?> getJournalByPeriodName(String periodName, String pageNo, String pageSize) {
        return erpAccountMapper.getJournalByPeriodName(periodName,pageNo,pageSize);
    }

    public long getJournaltCountByPeriodName(String periodName) {
        return erpAccountMapper.getJournaltCountByPeriodName(periodName);
    }

    public List<?> getBalanceByCombinationandperiodName(Long codeCombinationId, String segment1, String periodName) {
        return erpAccountMapper.getBalanceByCombinationandperiodName(codeCombinationId,segment1,periodName);
    }

    public List<?> getJournalByPeriodNameAndJeSourceAndCompCode(String periodName, String jeSource, String compCode, int pageNoInt, int pageSizeInt) {
        return erpAccountMapper.getJournalByPeriodNameAndJeSourceAndCompCode(periodName,jeSource,compCode,pageNoInt,pageSizeInt);
    }

    public List getAccountByAcctCode(String acctCode) {
        return erpAccountMapper.getAccountByAcctCode(acctCode);
    }
}
